/*
 * Copyright (C), 2002-2016, 苏宁易购电子商务有限公司
 * FileName: TimeMachineDao.java
 * Author:   15050536
 * Date:     2016年12月6日 下午7:27:40
 * Description: //模块目的、功能描述      
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.suning.sawp.intf.dao.tm;

import java.util.List;
import java.util.Map;

import com.suning.sawp.po.tm.EmployeeCategoryInfo;
import com.suning.sawp.po.tm.EmployeeExpensiveSaleInfo;
import com.suning.sawp.po.tm.EmployeeFirstSaleInfo;
import com.suning.sawp.po.tm.EmployeeHireInfo;
import com.suning.sawp.po.tm.EmployeeMemberInfo;
import com.suning.sawp.po.tm.EmployeeTotalSaleInfo;

/**
 * 时光机 查询返回给前端的 dao方法
 *
 * @author 15050536 石键平
 */
public interface TimeMachineDao {
	/**
	 * 
	 * 根据员工工号，查询其基础信息及入职的信息
	 *
	 * @param employeeId 员工工号
	 * @return
	 */
	EmployeeHireInfo findEmployeeHireByEmployeeId(String employeeId);
	
	/**
	 * 
	 * 根据员工工号查询其首单销售信息
	 *
	 * @param employeeId 员工工号
	 * @return
	 */
	EmployeeFirstSaleInfo findEmployeeFirstSaleByEmployeeId(String employeeId);
	
	/**
	 * 
	 * 根据员工工号查询其截止到2016-12-31总销售数据
	 *
	 * @param employeeId 员工工号
	 * @return
	 */
	EmployeeTotalSaleInfo findEmployeeTotalSaleByEmployeeId(String employeeId);
	
	/**
	 * 
	 * 查询某一员工2016年卖的最贵的一笔记录
	 *
	 * @param employeeId 员工工号
	 * @return
	 */
	EmployeeExpensiveSaleInfo findEmployeeExpensiveByEmployeeId(String employeeId);
	
	/**
	 * 根据员工id查询其2016销售数据(按类目)
	 *
	 * @param employeeId 员工工号
	 * @return
	 */
	EmployeeCategoryInfo findEmployeeCategoryByEmployeeId(String employeeId);
	
	/**
	 * 返回2016年，某员工接待的 购买次数最多的前5名老顾客购买信息
	 *
	 * @param employeeId 员工工号
	 * @return
	 */
	List<EmployeeMemberInfo> queryEmployeeMembersByEmployeeId(String employeeId);
	
	/**
	 * 查询某人是否领取过优惠券
	 *
	 * @param employeeId 员工工号
	 * @return
	 */
	Map<String,Object> findReceiveCouponByEmployeeId(String employeeId);
	
	/**
	 * 
	 * 保存某一员工领券记录
	 *
	 * @param params
	 */
	void saveReceiveCoupon(Map<String,Object> params);
}
